In packet-switched networks, a node can include a router that determines a next network point (e.g., a subsequent node) to which a data packet is forwarded toward its destination. The node is typically coupled to at least two subsequent network points and decides which way to send each data packet based on its current understanding of the state of the network to which it is connected. A node can create or maintain a routing table of the available routes and corresponding conditions and use this information along with distance and cost algorithms to determine a best route for a given data packet. Typically, a data packet may travel through a number of nodes before arriving at its respective destination.
Unicast, broadcast, and multicast are three conventional techniques for transmitting data packets (e.g., audio and video data packets) from a source node (e.g., a server) to one or more receiver nodes (e.g., a desktop computer system) via packet-switched networks. Unicast is a point-to-point communication technique wherein data packets are transmitted between a single source and a single receiver. Broadcast communication enables one source node to transmit data packets to each receivers within a broadcast domain. Multicast allows a source node or several source nodes to transmit data packets simultaneously to select receiver nodes according to a group subscription, i.e., receiver nodes subscribed to a multicast group. During multicast transmission, multicast data packets are replicated by multicast enabled nodes (e.g., routers) at the point where communication paths diverge to separate receivers of a multicast group.
Typically, in multicast communication networks, nodes or routers store information for each active source. Accordingly, if the node receives local interest for a particular group (e.g., a request), the node joins a path for the active sources for the group. However, some nodes can have limited memory (e.g., an edge router) and thus, may either use valuable storage space to store information for each active source and/or may not be capable of storing all of the information for each active source.